// This to extract the files for testing...
SFXOpen sfxo = new SFXOpen(@"D:\Temp2\test.asfx");

sfxo.GetFiles().ForEach(p =>
{
    string dicPath = String.Format(@"D:\Temp2\{0}", Path.GetDirectoryName(p.Key));

    if (Directory.Exists(dicPath) == false)
        Directory.CreateDirectory(dicPath);

    File.WriteAllBytes(String.Format(@"{0}\{1}", dicPath, Path.GetFileName(p.Key)), p.Value);
});